package example.com.zcq.mymj;

import android.app.Application;
import android.widget.Toast;

import com.xuexiang.xupdate.XUpdate;
import com.xuexiang.xupdate.entity.UpdateEntity;
import com.xuexiang.xupdate.entity.UpdateError;
import com.xuexiang.xupdate.listener.OnUpdateFailureListener;
import com.xuexiang.xupdate.proxy.IUpdateParser;
import com.xuexiang.xupdate.utils.UpdateUtils;

import cn.jpush.android.api.JPushInterface;
import example.com.zcq.mymj.net.OKHttpUpdateHttpService;
import example.com.zcq.mymj.util.Logger;

/**
 * @author zcq
 * @package example.com.zcq.mymj
 * @fileName MyMj
 * @description: 这个类的描述
 * @org 融信通达科技有限公司
 * @email @163.com
 * @date 2018/11/21  9:41
 */
public class MyApp extends Application {
    @Override
    public void onCreate() {
        Logger.d("zcq", "[ExampleApplication] onCreate");
        super.onCreate();
        //初始化极光推送
        initJPush();
        //初始化更新框架
        initUpdate();
    }


    private void initJPush() {
        JPushInterface.setDebugMode(true);
        JPushInterface.init(this);
    }

    private void initUpdate() {
        XUpdate.get()
                .debug(true)
                .isWifiOnly(false)     //默认设置只在wifi下检查版本更新
                .isGet(true)          //默认设置使用get请求检查版本
                .isAutoMode(false)    //默认设置非自动模式，可根据具体使用配置
                .param("versionCode", UpdateUtils.getVersionCode(this)) //设置默认公共请求参数
                .param("appKey", getPackageName())
                .setOnUpdateFailureListener(new OnUpdateFailureListener() { //设置版本更新出错的监听
                    @Override
                    public void onFailure(UpdateError error) {
                        Toast.makeText(MyApp.this, error.toString(), Toast.LENGTH_SHORT).show();
                    }
                })
                .setIUpdateHttpService(new OKHttpUpdateHttpService()) //这个必须设置！实现网络请求功能。
                .init(this);   //这个必须初始化

    }


}
